﻿using MengLin.OOP.DesignPattern.Implement.SqlServer;
using MengLin.OOP.DesignPattern.Interface;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace MengLin.OOP.DesignPattern.FactoryMethod
{
    /// <summary>
    /// 工厂类
    /// 每一个工厂只负责创建1个对象
    /// 缺点：把对象的创建搞的更麻烦了，代码写的更多了
    /// 价值在哪里？反而代码越写越多了
    /// 1.对扩展开放，对修改封闭(a.增加一个工厂类.b.增加一个实现类),不会对原来的代码造成影响    
    /// </summary>
    public class SqlServerFactory : IFactory
    {
        /// <summary>
        /// 创建实例
        /// </summary>
        /// <returns></returns>
        public IUserService CreateInstance()
        {
            IUserService iUserService = new SqlServerUserService();

            return iUserService;
        }
    }
}
